package pic;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.widget.ImageView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;

import com.aimer.common.R;
import com.blankj.utilcode.util.LogUtils;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.SimpleTarget;
import com.bumptech.glide.request.target.Target;
import com.bumptech.glide.request.transition.Transition;


public class PicLoadManager {

    private static final String TAG = "FishLoadManager";

    public static Context context;
    private static String newUrl;

    public static void initialization(Context context) {
        Log.d(TAG, "initialization");
        PicLoadManager.context = context;
    }

    public static void loadPicture( String url, ImageView iv) {


        Glide.with(context)
                .load(url)
//                .diskCacheStrategy(DiskCacheStrategy.ALL)

               .fallback(R.mipmap.animess) //如果请求的 url/model 为 null 的时候展示的图片（如果没有设置，还是展示 placeholder 的占位符）；
              .placeholder(R.mipmap.animess)//正在请求图片的时候展示的图片；

//                .override(1, 1) // 设置图片大小

                .into(iv);


    }

//    public static void loadImage(ImageView imageView, String url) {
//        Glide.with(context).asBitmap().load(url).into(imageView);
//    }
//
//    public static void loadImage(ImageView imageView, String url, boolean skipMemoryCache, DiskCacheStrategy strategy) {
//        Glide.with(context).asBitmap().load(url).skipMemoryCache(skipMemoryCache).diskCacheStrategy(strategy).into(imageView);
//    }

    public static void loadPicture(Context context, Object uri, ImageView iv) {
        load(context, uri, iv, null, false, DiskCacheStrategy.ALL);
    }

//    public static void loadPicture(Object uri, ImageView iv) {
//        load(context, uri, iv, null, false, DiskCacheStrategy.ALL);
//    }

    public static void loadCirclCorner(Object uri, ImageView iv) {
        load(context, uri, iv, new GlideRoundTransform(), false, DiskCacheStrategy.ALL);
    }

    public static void loadCirclCorner(Object uri, ImageView iv, float roundPx) {
        loadCirclCorner(uri, iv, roundPx, roundPx);
    }

    public static void loadCirclCorner(Object uri, ImageView iv, float roundPx, float roundPy) {
        load(context, uri, iv, new GlideRoundTransform(roundPx, roundPy), false, DiskCacheStrategy.ALL);
    }

    public static void load(Context context, Object url, ImageView iv, GlideRoundTransform transform, boolean skipMemoryCache, DiskCacheStrategy strategy) {
//        if (url instanceof String) {
//            String urls = (String) url;
//            if (urls.startsWith("http://")) {
//                newUrl = urls.replace("http://", "https://");
//            }
//
//
//            GlideRequest glideRequest = GlideApp.with(context)
//                    .asBitmap()
//                    .skipMemoryCache(skipMemoryCache)
//                    .diskCacheStrategy(strategy)
//                    .load(newUrl)
//                    .fallback(R.mipmap.loaddata) //如果请求的 url/model 为 null 的时候展示的图片（如果没有设置，还是展示 placeholder 的占位符）；
//                    .placeholder(R.mipmap.loaddata);//正在请求图片的时候展示的图片；
//            if (transform != null) {
//                glideRequest.transform(transform);
//            }
//            glideRequest.into(iv);
//
//        } else {
//            GlideRequest glideRequest = GlideApp.with(context)
//                    .asBitmap()
//                    .skipMemoryCache(skipMemoryCache)
//                    .diskCacheStrategy(strategy)
//                    .load(newUrl)
//                    .fallback(R.mipmap.loaddata) //如果请求的 url/model 为 null 的时候展示的图片（如果没有设置，还是展示 placeholder 的占位符）；
//                    .placeholder(R.mipmap.loaddata);//正在请求图片的时候展示的图片；
//            if (transform != null) {
//                glideRequest.transform(transform);
//            }
//            glideRequest.into(iv);
//        }


    }


}
